package cn.iocoder.yudao.module.other.job.vo;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@NoArgsConstructor
@Data
public class HotSearchRespDto {


    /**
     * ok
     */
    @JSONField(name = "ok")
    private Integer ok;
    /**
     * data
     */
    @JSONField(name = "data")
    private DataDTO data;
    /**
     * logs
     */
    @JSONField(name = "logs")
    private LogsDTO logs;
    /**
     * topLogs
     */
    @JSONField(name = "topLogs")
    private TopLogsDTO topLogs;

    /**
     * DataDTO
     */
    @NoArgsConstructor
    @Data
    public static class DataDTO {
        /**
         * realtime
         */
        @JSONField(name = "realtime")
        private List<RealtimeDTO> realtime;
        /**
         * hotgov
         */
        @JSONField(name = "hotgov")
        private HotgovDTO hotgov;
        /**
         * hotgovs
         */
        @JSONField(name = "hotgovs")
        private List<HotgovsDTO> hotgovs;

        /**
         * HotgovDTO
         */
        @NoArgsConstructor
        @Data
        public static class HotgovDTO {
            /**
             * icon
             */
            @JSONField(name = "icon")
            private String icon;
            /**
             * iconWidth
             */
            @JSONField(name = "icon_width")
            private Integer iconWidth;
            /**
             * iconHeight
             */
            @JSONField(name = "icon_height")
            private Integer iconHeight;
            /**
             * pos
             */
            @JSONField(name = "pos")
            private Integer pos;
            /**
             * mid
             */
            @JSONField(name = "mid")
            private String mid;
            /**
             * topicFlag
             */
            @JSONField(name = "topic_flag")
            private Integer topicFlag;
            /**
             * isGov
             */
            @JSONField(name = "is_gov")
            private Integer isGov;
            /**
             * flag
             */
            @JSONField(name = "flag")
            private Integer flag;
            /**
             * name
             */
            @JSONField(name = "name")
            private String name;
            /**
             * iconDesc
             */
            @JSONField(name = "icon_desc")
            private String iconDesc;
            /**
             * iconDescColor
             */
            @JSONField(name = "icon_desc_color")
            private String iconDescColor;
            /**
             * url
             */
            @JSONField(name = "url")
            private String url;
            /**
             * smallIconDesc
             */
            @JSONField(name = "small_icon_desc")
            private String smallIconDesc;
            /**
             * smallIconDescColor
             */
            @JSONField(name = "small_icon_desc_color")
            private String smallIconDescColor;
            /**
             * word
             */
            @JSONField(name = "word")
            private String word;
            /**
             * isHot
             */
            @JSONField(name = "is_hot")
            private Integer isHot;
            /**
             * stime
             */
            @JSONField(name = "stime")
            private Integer stime;
            /**
             * note
             */
            @JSONField(name = "note")
            private String note;
        }

        /**
         * RealtimeDTO
         */
        @NoArgsConstructor
        @Data
        public static class RealtimeDTO {
            /**
             * icon
             */
            @JSONField(name = "icon")
            private String icon;
            /**
             * iconWidth
             */
            @JSONField(name = "icon_width")
            private Integer iconWidth;
            /**
             * iconHeight
             */
            @JSONField(name = "icon_height")
            private Integer iconHeight;
            /**
             * flag
             */
            @JSONField(name = "flag")
            private Integer flag;
            /**
             * labelName
             */
            @JSONField(name = "label_name")
            private String labelName;
            /**
             * topicFlag
             */
            @JSONField(name = "topic_flag")
            private Integer topicFlag;
            /**
             * iconDesc
             */
            @JSONField(name = "icon_desc")
            private String iconDesc;
            /**
             * num
             */
            @JSONField(name = "num")
            private Integer num;
            /**
             * iconDescColor
             */
            @JSONField(name = "icon_desc_color")
            private String iconDescColor;
            /**
             * emoticon
             */
            @JSONField(name = "emoticon")
            private String emoticon;
            /**
             * note
             */
            @JSONField(name = "note")
            private String note;
            /**
             * smallIconDescColor
             */
            @JSONField(name = "small_icon_desc_color")
            private String smallIconDescColor;
            /**
             * word
             */
            @JSONField(name = "word")
            private String word;
            /**
             * wordScheme
             */
            @JSONField(name = "word_scheme")
            private String wordScheme;
            /**
             * realpos
             */
            @JSONField(name = "realpos")
            private Integer realpos;
            /**
             * smallIconDesc
             */
            @JSONField(name = "small_icon_desc")
            private String smallIconDesc;
            /**
             * rank
             */
            @JSONField(name = "rank")
            private Integer rank;
            /**
             * topicAd
             */
            @JSONField(name = "topic_ad")
            private Integer topicAd;
            /**
             * monitors
             */
            @JSONField(name = "monitors")
            private MonitorsDTO monitors;
            /**
             * id
             */
            @JSONField(name = "id")
            private Integer id;
            /**
             * iconType
             */
            @JSONField(name = "icon_type")
            private String iconType;
            /**
             * dotIcon
             */
            @JSONField(name = "dot_icon")
            private Integer dotIcon;
            /**
             * isAd
             */
            @JSONField(name = "is_ad")
            private Integer isAd;
            /**
             * flagDesc
             */
            @JSONField(name = "flag_desc")
            private String flagDesc;

            /**
             * MonitorsDTO
             */
            @NoArgsConstructor
            @Data
            public static class MonitorsDTO {
                /**
                 * app
                 */
                @JSONField(name = "app")
                private List<AppDTO> app;
                /**
                 * pc
                 */
                @JSONField(name = "pc")
                private List<PcDTO> pc;

                /**
                 * AppDTO
                 */
                @NoArgsConstructor
                @Data
                public static class AppDTO {
                    /**
                     * thirdPartyClick
                     */
                    @JSONField(name = "third_party_click")
                    private String thirdPartyClick;
                    /**
                     * thirdPartyShow
                     */
                    @JSONField(name = "third_party_show")
                    private String thirdPartyShow;
                    /**
                     * type
                     */
                    @JSONField(name = "type")
                    private String type;
                    /**
                     * monitorName
                     */
                    @JSONField(name = "monitor_name")
                    private String monitorName;
                }

                /**
                 * PcDTO
                 */
                @NoArgsConstructor
                @Data
                public static class PcDTO {
                    /**
                     * pcClick
                     */
                    @JSONField(name = "pc_click")
                    private String pcClick;
                    /**
                     * pcShow
                     */
                    @JSONField(name = "pc_show")
                    private String pcShow;
                    /**
                     * type
                     */
                    @JSONField(name = "type")
                    private String type;
                    /**
                     * monitorName
                     */
                    @JSONField(name = "monitor_name")
                    private String monitorName;
                }
            }
        }

        /**
         * HotgovsDTO
         */
        @NoArgsConstructor
        @Data
        public static class HotgovsDTO {
            /**
             * icon
             */
            @JSONField(name = "icon")
            private String icon;
            /**
             * iconWidth
             */
            @JSONField(name = "icon_width")
            private Integer iconWidth;
            /**
             * iconHeight
             */
            @JSONField(name = "icon_height")
            private Integer iconHeight;
            /**
             * flag
             */
            @JSONField(name = "flag")
            private Integer flag;
            /**
             * name
             */
            @JSONField(name = "name")
            private String name;
            /**
             * pos
             */
            @JSONField(name = "pos")
            private Integer pos;
            /**
             * iconDesc
             */
            @JSONField(name = "icon_desc")
            private String iconDesc;
            /**
             * iconDescColor
             */
            @JSONField(name = "icon_desc_color")
            private String iconDescColor;
            /**
             * smallIconDesc
             */
            @JSONField(name = "small_icon_desc")
            private String smallIconDesc;
            /**
             * topicFlag
             */
            @JSONField(name = "topic_flag")
            private Integer topicFlag;
            /**
             * word
             */
            @JSONField(name = "word")
            private String word;
            /**
             * smallIconDescColor
             */
            @JSONField(name = "small_icon_desc_color")
            private String smallIconDescColor;
        }
    }

    /**
     * LogsDTO
     */
    @NoArgsConstructor
    @Data
    public static class LogsDTO {
        /**
         * actCode
         */
        @JSONField(name = "act_code")
        private Integer actCode;
        /**
         * ext
         */
        @JSONField(name = "ext")
        private String ext;
    }

    /**
     * TopLogsDTO
     */
    @NoArgsConstructor
    @Data
    public static class TopLogsDTO {
        /**
         * actCode
         */
        @JSONField(name = "act_code")
        private Integer actCode;
        /**
         * ext
         */
        @JSONField(name = "ext")
        private String ext;
    }
}
